﻿package mortal.game.view.vip
{
    import Message.DB.Tables.*;
    import Message.Public.*;
    import extend.language.*;
    import mortal.game.cache.*;
    import mortal.game.resource.tableConfig.*;

    public class VipUtil extends Object
    {

        public function VipUtil()
        {
            return;
        }// end function

        public static function getVipAddStr(param1:int, param2:int = 70353) : String
        {
            var _loc_7:int = 0;
            var _loc_3:String = "";
            var _loc_4:* = Cache.instance.vip.level;
            var _loc_5:* = int(VipConfig.instance.getValueByTypeAndLv(param1, _loc_4));
            var _loc_6:* = _loc_4 + 1;
            while (_loc_6 <= 10)
            {
                
                _loc_7 = int(VipConfig.instance.getValueByTypeAndLv(param1, _loc_6));
                if (_loc_7 > _loc_5)
                {
                    _loc_3 = Language.getStringByParam(param2, _loc_6, _loc_7);
                    break;
                }
                _loc_6++;
            }
            return _loc_3;
        }// end function

        public static function get vipLevel() : int
        {
            return Cache.instance.vip.level > 0 ? (Cache.instance.vip.level) : (0);
        }// end function

        public static function get vipCopyLeftNum() : int
        {
            var _loc_1:int = 0;
            var _loc_2:int = 0;
            var _loc_3:int = 0;
            var _loc_4:Array = [];
            var _loc_5:* = VipConfig.instance.getVipConfigByType(EVipRecordType._EVipRecordTypeVipCopy);
            var _loc_6:int = 1;
            while (_loc_6 <= 10)
            {
                
                if (vipLevel >= _loc_6 && int(_loc_5["vip" + _loc_6]) && _loc_4.indexOf(int(_loc_5["vip" + _loc_6])) == -1)
                {
                    _loc_2++;
                    _loc_1 = _loc_1 + Cache.instance.copy.getTodayEnterTimes(int(_loc_5["vip" + _loc_6]));
                    _loc_4.push(int(_loc_5["vip" + _loc_6]));
                }
                _loc_6++;
            }
            _loc_3 = _loc_2 - _loc_1;
            return _loc_3;
        }// end function

        public static function getVipMinLevelByType(param1:int) : int
        {
            var _loc_3:int = 0;
            var _loc_4:int = 0;
            var _loc_2:* = VipConfig.instance.getVipConfigByType(param1);
            if (_loc_2)
            {
                _loc_4 = 1;
                while (_loc_4 <= 10)
                {
                    
                    if (_loc_2.hasOwnProperty("vip" + _loc_4) && _loc_2["vip" + _loc_4] && _loc_2["vip" + _loc_4] != "0")
                    {
                        _loc_3 = _loc_4;
                        break;
                    }
                    _loc_4++;
                }
            }
            return _loc_3;
        }// end function

        public static function isVipReachLevelByType(param1:int) : Boolean
        {
            var _loc_3:String = null;
            var _loc_2:* = Cache.instance.vip.level;
            var _loc_4:* = getVipMinLevelByType(param1);
            if (_loc_2 < _loc_4)
            {
                return false;
            }
            return true;
        }// end function

        public static function getMiniValueByType(param1:int) : int
        {
            var _loc_2:* = getVipMinLevelByType(param1);
            return parseInt(VipConfig.instance.getValueByTypeAndLv(param1, _loc_2));
        }// end function

        public static function getCurValueByType(param1:int) : int
        {
            var _loc_2:* = Cache.instance.vip.level;
            return parseInt(VipConfig.instance.getValueByTypeAndLv(param1, _loc_2));
        }// end function

    }
}
